Skip to content

Finalize persistent-Mac compile fallback routing - #13431

Merged
teamleaderleo merged 1 commit into
codex/cmux-workload-profilesfrom
codex/persistent-mac-pilot-finalize
Sep 21, 2026
Merged

teamleaderleo merged 1 commit into
codex/cmux-workload-profilesfrom
codex/persistent-mac-pilot-finalize

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Finish the persistent-Mac compile pilot on top of #13411 without carrying the stale history from #13425.

  • keep the required hosted macOS compile admission job off the persistent-route critical path;
  • allocate the hosted macOS runner immediately, restore exact reusable products first, then perform a ready-only producer observation from inside that already-running job; queued/running/absent producers fall through to hosted compilation immediately;
  • publish an explicit GitHub-selected source-identity validity bit and gate persistent request/observation on it, so ambiguous/octopus source identity falls cleanly to hosted admission;
  • preserve the default-branch router as the only Actions-write/dispatch owner;
  • keep the current cancellation-aware RetryWait implementation for the default-branch dispatcher while the required hosted path uses a nonblocking ready-only observation;
  • close the mapping-form self-hosted runner guard gap by inspecting group: and labels: lines and exempting only the exact persistent producer mapping;
  • update focused contract tests and operator docs.

The canonical workload implementation remains source-exact: source commits older than #13411 lack the profile registry and intentionally fall back hosted. No newer semantic runner is injected into an older SOURCE_SHA.

Supersedes the remaining landing delta from #13425 once #13411 is merged.

Related: #13198, #13411, #13425. Glaeda: teamleaderleo/glaeda#1084.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Finalizes the persistent-Mac compile pilot so the required hosted macOS admission job no longer waits on a separate route job. The admission job allocates the macOS runner immediately, restores any exact reusable product first, and then makes a single nonblocking, read-only check of the persistent producer from inside the already-running job.

  • Removes the persistent-mac-compile-route job and moves its observe-only logic into macos-compile-admission, keeping the default-branch router as the only workflow with Actions write/dispatch authority.
  • Adds a --ready-only observation mode that uses the producer only when its compile job is already completed, falling back hosted for absent, queued, or running producers, and to the producer conclusion when completed unsuccessfully. Ready-only observation drops the queue and execution wait budgets entirely and refuses to run without --observe-only.
  • Adds an explicit source_identity_valid bit from the changes job and gates persistent request/observation on it, so ambiguous or octopus source identities fall back cleanly to hosted admission instead of failing the step.
  • Extends the self-hosted runner guard to treat cmux-persistent-compile as a fleet selector and inspect mapping-form group: and labels: selection lines, exempting only the exact persistent producer mapping.
  • Fixes admission timing accounting so route observation is no longer double-counted now that it runs inside the already-allocated admission job.

Written for commit 849d64a. Summary will update on new commits.

Review in cubic

@coderabbitai

coderabbitai Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 08e1a44c-43ca-4cdf-b94b-b883a03a2423

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cursor

cursor Bot commented Sep 21, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

1 similar comment
@cursor

cursor Bot commented Sep 21, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

@greptile-apps

greptile-apps Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

The PR appears safe to merge, with the previously reported admission-time double counting corrected and no new actionable defects identified.

Summary

Finalizes the persistent-Mac compile fallback route while keeping hosted macOS admission authoritative.

  • Moves read-only producer observation into the already-allocated hosted admission job.
  • Uses persistent output only when the producer compile is already complete; otherwise compilation falls through to hosted infrastructure immediately.
  • Gates persistent routing on an explicit, valid GitHub-selected source identity.
  • Extends self-hosted runner guards to mapping-form group: and labels: selectors.
  • Corrects admission metrics so in-job route observation is not counted twice.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  A[changes job] --> B{Source identity valid?}
  B -- No --> H[Hosted macOS compile]
  B -- Yes --> C[Publish exact-source request]
  C --> D[Default-branch router owns dispatch]
  A --> E[Allocate hosted admission runner]
  E --> F[Restore exact reusable product]
  F --> G{Reusable product found?}
  G -- Yes --> I[Revalidate and publish product]
  G -- No --> J[Ready-only producer observation]
  J --> K{Producer compile already complete and successful?}
  K -- No --> H
  K -- Yes --> L[Download and revalidate persistent product]
  L --> M{Product valid?}
  M -- No --> H
  M -- Yes --> I
  H --> I
Loading

Reviews (2) · Last reviewed commit: "Finalize persistent-Mac compile fallback..."

@greptile-apps

This comment has been minimized.

@cursor

cursor Bot commented Sep 21, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

Copy link
Copy Markdown
Collaborator Author

Fixed Greptile's remaining metrics note: ADMISSION_SECONDS already spans the in-job persistent-route observation, so total_macos_compile_admission_seconds now uses that measured admission interval directly instead of adding route_wall_seconds a second time. Route wall remains a separate diagnostic metric. Added a contract regression.

@coderabbitai review
@greptile-apps review

@coderabbitai

coderabbitai Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

@teamleaderleo: I will review the updated metrics calculation and the contract regression.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@teamleaderleo
teamleaderleo force-pushed the codex/persistent-mac-pilot-finalize branch from 5987fe0 to 849d64a Compare September 21, 2026 19:42
@teamleaderleo
teamleaderleo merged commit 926bbad into codex/cmux-workload-profiles Sep 21, 2026
39 checks passed
teamleaderleo added a commit that referenced this pull request Sep 21, 2026
* Rebase scripts/ci/detect_ci_change_areas.py workload-profile changes onto current main

* Rebase workload profile guards onto current main

* Carry fleet enrollment boundary onto current runner docs

* Rebase scripts/select-ci-xcode.sh workload-profile changes onto current main

* Rebase tests/test_ci_change_areas.py workload-profile changes onto current main

* Rebase tests/test_ci_xcode_selection_fast_path.sh workload-profile changes onto current main

* Rebase docs/fleet-enrollment.md onto current main

* Rebase docs/workload-profiles.md onto current main

* Rebase scripts/ci/cmux-workload-profiles.json onto current main

* Rebase scripts/ci/cmux_workload_profile.py onto current main

* Rebase scripts/ci/workloads/ci-guard.sh onto current main

* Rebase scripts/ci/workloads/macos-app-host-test-shard.sh onto current main

* Rebase scripts/ci/workloads/macos-compile-admission.sh onto current main

* Rebase scripts/ci/workloads/macos-dev-check.sh onto current main

* Rebase tests/test_ci_workload_profiles.py onto current main

* ci: publish workload result inside private state root

* docs: keep workload results inside private state

* docs: keep fleet semantic result in private state

* docs: describe trusted workload result parents accurately

* test dirty initialized submodule rejection

* workloads: serialize shared checkout build mutations

* workloads: revalidate source and runtime inputs after execution

* workloads: restore explicit materialized submodule fence

* test: fence checkout and post-run identity drift

* Restore reviewed dirty-submodule status contract

* Align submodule fixtures with explicit worktree validation

* docs: require post-run fleet capability re-observation

* Keep fleet finalization aligned with merged Glaeda

* docs: bind fleet finalization to fresh post-run bootstrap

* docs: explain workload checkout lease and post-run revalidation

* test: keep distinct toolchain integrity coverage

* docs: bind fleet acceptance to Glaeda local execution

* docs: finish local acceptance runbook

* docs: fail fast during local fleet acceptance

* Decouple workload profiles from fleet activation

* workloads: use canonical tagged reload for dev check

* workloads: validate tagged dev identity through shared helper

* test: enforce tagged developer workload build

* docs: describe tagged dev-check workload accurately

* Activate merged Glaeda v2 fleet acceptance flow

* docs: gate fleet activation on Glaeda environment repair

* docs: activate fleet eligibility through repaired Glaeda boundary

* ci: settle workload groups before reaping

* ci: validate sanitized dev-check bundle path

* test: cover unreaped settlement and tag slug

* Clean source-drift workload fixture

* test: mock unreaped child wait boundary

* ci: assign workload profile guards to CI group

* Finalize persistent-Mac compile fallback routing (#13431)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant